Method for managing ip addresses in a network gaming environment

ABSTRACT

Disclosed are systems and methods for managing Internet Protocol (“IP”) addresses in a network gaming environment. The systems and methods comprise a plurality of electronic gaming machines, having one or more in-game network devices. In particular, an in-game switch is provided, which is configured to receiving an external IP address from a centrals DHCP server and to determine a scope of internal IP addresses associated with the one or more in-game network devices. Once the scope is determined, the in-game switch is configured to lease IP addresses from the address scope block to the associated in-game network devices.

RELATED APPLICATION

This application is a Continuation of U.S. patent application Ser. No.11/464,906, filed Aug. 16, 2006 entitled Method For Managing IPAddresses In A Network Gaming Environment which is hereby incorporatedby reference in its entirety.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

FIELD

The disclosure relates to the field of computer networks and morespecifically to the methods and systems for managing and distributingInternet Protocol (IP) addresses in a network gaming environment.

BACKGROUND

Fueled by the growth of computer and networking technologies, today'sgaming industry is able to offer a large variety of highly sophisticatedand entertaining gaming options to casino patrons. For example, atypical casino offers a large variety of electronic games including:wagering games, such as video and mechanical slots; video card games,such as poker, blackjack, and the like; video keno; video bingo; videopachinko; and other video games. In addition, the casinos offer a largevariety of table games, such as poker, blackjack, craps, roulette, andthe like. These video and table games are frequently computerized tomake playing experiences more exciting and entertaining, as well as tooptimize the casino's ability to monitor and control the gamingenvironment.

In a typical casino, computerized gaming machines are ofteninterconnected into one or more local and wide area networks, which arethen connected to the “back office” computing systems, that support thegaming environment by providing various accounting, game-monitoring,authentication, and other services. For example, some casinos employwired, IEEE 802.3-based, communication networks, while others usewireless, IEEE 802.11-based, networking infrastructure. The resultingdistributed computer network typically uses various Internet. Protocol(“IP”) based services, protocols and software and hardware networkdevices for providing a secure, reliable, and scalable gamingenvironment.

The proliferation of electronic gaming machines requires sophisticatedmethods for managing the ever increasing complexity and size of networkgaming environments. For example, a typical casino may include hundredsof different games, each comprising hundreds of gaming machines that areinterconnected into an IP-based network. Furthermore, each gamingmachine may comprise various in-game network devices, such as billvalidator, printer, card read, or the like, that facilitate operation ofthe gaming machine. Configuration, management, and troubleshooting of agaming network of such magnitude and complexity are daunting tasks evenfor the largest and most experienced information technology (“IT”)departments. These tasks are only exacerbated by the round-the-clockoperation of a casino, in which gaming machines must be running 24/7 andany downtime results in the loss of revenue.

One problem in network gaming environments is the apparent inability ofthe standard IP-based protocols and network devices to support networksof such magnitude in highly demanding operating conditions. For example,to begin proper operation during system start-up, which may occur aftera power interruption or other event that results in a system shutdown,the electronic gaming machines and the associated in-game devices needto obtain their IP addresses, as well as other network and systemconfiguration information from a central Dynamic Hosting ConfigurationProtocol (“DHCP”) server. If this information is not received in atimely manner, the electronic gaming machines and the associated in-gamedevices will typically set themselves up in a non-communicable addressrange or set its IP address to all zeros. Then, they may either retry orstop communications, depending on the sophistication level of their IPprogramming.

In a centralized DHCP schema, which is typically implemented in a mediumto large casino, at power-up of the entire casino, 10,000 to 30,000network devices may be requesting simultaneously IP address leases froma central DHCP server. Most standard DHCP servers can handle only 50-100leases per second. That leaves many network devices suspended andinoperative while awaiting service from the DHCP server. There is also amassive amount of network traffic as each gaming machine and networkdevices therein broadcast for DHCP lease. This can overwhelm the networkrouters and switches, exacerbating the problem. Presently, there is noadequate solution in the industry for this problem. Accordingly, thereis a need for a mechanism for efficient and effective management anddistribution of IP addresses in a network gaming environment.

SUMMARY

Briefly, and in general terms, disclosed herein are systems and methodsfor managing and distributing IP address information in a network gamingenvironment, such as a casino. In particular, by implementing an in-game(i.e., located inside a gaming machine) IP address management system,the network flood of service discovery requests from the in-game networkdevices associated with various gaming machines in the gaming networkcan be avoided. In one embodiment, this may be accomplished by providingan in-game switch, which facilitates during system start-up managementand distribution of external and internal IP addresses of the givengaming machine and the associated in-game network devices. For example,the in-game switch maintains an external IP of the given gaming machineand internal IP address scope information associated with variousin-game network devices.

In one embodiment, the in-game switch is also configured to manage IPaddress distribution process during system start-up. The in-game switchis configured to intercept service discovery requests from the in-gamenetwork devices during system start-up and, in response, extend leasesfor the default internal IP addresses, with or without communicationwith DHCP server. This allows each gaming machine and the associatedin-game network devices to boot up without overflowing gaming networkwith service request discovery messages. Once the gaming machine isrunning, the in-game switch may request external and internal IP addressinformation from the DHCP servers and reassign internal IP addressleases. Thereby, the in-game switch provides a centralized and readilyconfigurable system for distribution and management of IP addressesinside a gaming machine.

In one embodiment, a gaming network is disclosed. The gaming networkcomprises one or more gaming machines operative to provide gamingpresentations to casino patrons. Each gaming machine comprises one ormore in-game network devices, which facilitate operation of the gamingmachine. The network further comprises an in-game switch, located withinthe gaming machine, and networked with one or more in-game networkdevices for managing IP address information of the in-game networkdevices. The network also contains a local DHCP server operative toprovide the internal IP address scope to the in-game switch and a remoteDHCP server operative to provide an external IP address to the in-gameswitch. The local server of the gaming network comprises a DHCP serverinternal to the gaming network and the remote server comprises a DHCPserver external to the gaming network. It is understood, however, thatsuch a configuration is not required.

In one embodiment, the in-game switch comprises a non-volatile memoryhaving a data structure therein comprising the external IP addressassociated with a given gaming machine, the internal IP address scopeassociated with the in-game network devices, and a default IP addressscope information. The in-game switch further comprises a volatilememory having a data structure therein comprising a list of the leasedinternal IP addresses and the identifiers of the in-game networkdevices. The identifier of an in-game network device may comprise aMedium Access Control (“MAC”) address of the given device's networkcard. The in-game switch also comprises a processor configured to extendto the in-game network devices, leases to the internal IP addressesselected either from the provided internal IP address scope or from thedefault IP address scope.

In another embodiment, an in-game switch is disclosed for managing IPaddresses of one or more in-game network devices associated with a givengaming machine. The in-game switch comprises a network interfaceconfigured to receive an external IP address associated with a givengaming machine, an internal IP address scope associated with the givengaming machine, and a request for an internal IP address from thein-game network devices associated with the given gaming machine. Therequest from the in-game network device for an internal IP address maycomprise one of a DHCP discover message and a Boot Protocol (“BOOTP”)boot request message. The in-game switch may further comprise anon-volatile memory having a data structure configured to store thereceived external IP address, the received internal IP address scope,and a default IP address scope associated with the given gaming machine.

The in-game switch may also comprise a processor configured to processservice discovery requests from the in-game network devices. Inparticular, upon receipt of the service discovery request through thenetwork interface, the processor determines whether internal IP addressscope information was received from DHCP server in the givencommunication session. If such information was not received in thecurrent communication session, the processor leases to the in-gamenetwork device a temporary IP address selected from one of the internalIP address scope received in the previous communication session or fromthe default IP address scope if internal IP address scope was notpreviously communicated. In the event of the subsequent receipt of theinternal IP address scope information from the DHCP server, theprocessor terminates previously extended temporary IP address leases andreassigns to the in-game network devices internal IP address selectedfrom the newly received internal IP address scope.

Yet in another embodiment, a method is disclosed for managing IPaddresses in a gaming network having one or more gaming machines,wherein each gaming machine comprises one or more in-game networkdevices. The method comprises determining an external IP addressassociated with a given gaming machine, determining an internal IPaddress scope associated with the given gaming machine, receiving arequest for an internal IP address from an in-game network deviceassociated with the given gaming machine, and leasing an internal IPaddress from the internal IP address scope to the in-game networkdevice. The determination of the external IP address may comprisebroadcasting a service discovery message, and receiving the external IPaddress from a remote DHCP server in response to the service discoverymessage, wherein the remote DHCP server is external to the gamingnetwork. The service discovery message may comprise one of a DHCPdiscover message or a BOOTP boot request message. The received externalIP address may be stored in a non-volatile memory.

In one embodiment, in the event of failure to receive the external IPaddress from the remote DHCP server or in the event of failure toreceive the internal IP address scope from the local DHCP server, themethod further comprises leasing to the in-game network device aninternal IP address selected from a default IP address scope. In theevent of the subsequent receipt of the external IP address from theremote DHCP server and the internal IP address scope from the local DHCPserver, the method comprises terminating one or more previously extendedleases for the default IP addresses and leasing to the in-game networkdevices internal IP address selected from the newly received internal IPaddress scope.

Yet in another embodiment, a method is disclosed for managing IPaddresses in a gaming network comprising one or more gaming machines,wherein each gaming machine comprises one or more in-game networkdevices. The method comprises requesting an external IP addressassociated with a given gaming machine, requesting an internal IPaddress scope associated with a given gaming machine, receiving arequest for an internal IP address from an in-game network deviceassociated with the given gaming machine, and if the external IP addressand the internal IP address scope were received, leasing to the in-gamenetwork device an internal IP address selected from the internal IPaddress scope, otherwise leasing to the in-game network device atemporary IP address selected from the internal IP address scopereceived in the previous communication session or from default IPaddress scope if internal IP address scope was not previouslycommunicated. In the event of the subsequent receipt of updated internalIP address information, the terminating previously extended temporary IPaddress then leases and reassigns to the in-game network devices, aninternal IP address selected from the updated internal IP address scope.

In the above method, requesting an external IP address comprisesbroadcasting a service discovery message, and receiving the external IPaddress from a remote DHCP server in response to the service discoverymessage, wherein the remote DHCP server may be external to the gamingnetwork. Furthermore, requesting the internal IP address scope comprisesrequesting the internal IP address scope from a local DHCP server, andreceiving the internal IP address scope from the local DHCP server,wherein the local DHCP server may be internal to the gaming network. Themethod further comprises storing the received external IP address andthe internal IP address scope in a non-volatile memory. Moreover, therequest from the in-game network device for an internal IP address maycomprise either a “DHCP discover” message or a “BOOTP boot request”message.

In another embodiment, an electronic gaming machine is disclosed fordisplaying one or more gaming presentations to a user. The gamingmachine comprising: one or more in-game network devices that facilitatedisplay of the gaming presentations to a user. The machine furthercomprising a non-volatile memory containing a data structure therein,the data structure comprising: (i) the external IP address informationassociated with a given gaming machine; (ii) the internal IP addressscope information associated with the in-game network devices; (iii)scope options information; and (iv) vendor specific information. Themachine further comprising an in-game switch configured to manage aninternal IP address scope for the one or more in-game network devices.The in-game switch is configured to receive (i) an updated external IPaddress information, (ii) an updated internal IP address scopeinformation, (iii) an updated scope options information and (iv) updatedvendor specific information. The in-game switch is further configured tostore the received updated information in the data structure in thenon-volatile memory. The in-game switch is also operative to provideupon request the updated information to the in-game network devices.

Other features and advantages of the claimed invention will becomeapparent from the following detailed description when taken inconjunction with the corresponding drawings that illustrate, by way ofexample, the features of the claimed invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a network gaming environment;

FIG. 2 illustrates an exemplary electronic gaming machine;

FIG. 3 illustrates a block diagram of an in-game switch;

FIG. 4 illustrates a flow diagram of one method for managing IPaddresses in a network gaming environment; and

FIG. 5 illustrates a flow diagram of another method for managing IPaddresses in a network gaming environment.

DETAILED DESCRIPTION

Preferred embodiments of the claimed invention provide systems andmethods for managing and distributing IP addresses in a network gamingenvironment, such as a casino. In particular, by implementing an in-gameDHCP management system, the network flood of DHCP requests can beavoided especially in catastrophic situations, such as a full casinopower outage. Since an in-game switch is configured to maintain all ofits external IP address information and its internal IP address blockfor a given gaming machine, the in-game switch can start extendingleases for the internal IP addresses to the in-game network devicesimmediately upon power up, with or without, communication with centralDHCP servers. The in-game switch can then check its stored informationwith the central DHCP servers and redo the leases, if necessary. Thedata packets from the in-game network devices may be intercepted by thein-game switch, so that the in-game switch can control the egress ofcommunication from the gaming machine and prohibit such communicationuntil all IP information is correct for the network on which the givengaming machine resides.

Referring now to the drawings, wherein like reference numerals denotelike or corresponding parts throughout the drawings and, moreparticularly to FIG. 1, there is shown one embodiment of a networkgaming environment that utilizes systems and methods of the claimedinvention. As depicted, the gaming environment may include one or moregaming networks 10, each of which may include a gaming network DHCPserver and a plurality of gaming machines 50, each gaming machineincluding one or more in-game network devices 55 and an in-game switch60. Each gaming network 10 may be a Local Area Network (LAN) or a WideArea Network (“WAN”), which spans one or more casinos. It will beappreciated by one of ordinary skill in the art that any type orconfiguration of network may be used. The gaming environment may furtherinclude a back office network 15, which in turn includes a plurality ofservers that facilitate operation of the casino, and in particular,various network devices of the gaming networks 10. The gaming network 10and the back office network 15 may be interconnected via a broadband,IP-based backbone network, such as a Gigabit Ethernet, AsynchronousTransfer Mode (“ATM”), or the like.

In one embodiment, the back office network 15 may include agame-monitoring server 25, which facilitates monitoring of, for example,player identification information, player wager information, playercredits, winning events, and the like. In addition, the game-monitoringserver 25 may provide various content updates for the gaming machine 50and the associated in-game network devices 55, as well as upload gamestatus information from the gaming machine 50. The back office network15 may further include an accounting server 20, which provides securecredit card processing services for players utilizing credit/debit cardsat the gaming machine 50, as well as other accounting and financialservices, such as tracking of the cumulative jackpots across severalgaming machines 50 and the like. The back office network 15 furtherincludes one or more databases 30, which maybe used by the servers ofthe back office network 15 to archive accounting data, game status andstatistics data, user authentication data, network information data andthe like.

The back office network 15 may further include a boot server 35. Ingeneral, the boot server 35 facilitates automatic addressing andconfiguration of all network devices connected to the gaming network 10.In particular, the boot server 35 may provide authentication services tothe gaming environment DHCP server 45, in-game switches 60, and in-gamenetwork devices 55. The required authentication information may bestored in a database 30 located on the back office network 15. In oneembodiment, the boot server 35 may also provide various network anddevice configuration information, such as gateway server location,network addresses, clock synchronization information, content updatesand the like to the gaming machines 50. In particular, the boot server35 may operate in conjunction with the game-monitoring server 25 toprovide during system start up various device and network configurationinformation to the gaming machine 50 and the associated in-game networkdevices 55.

In one embodiment, the boot server 35 may contain a network addressmanagement and distribution component, such as a DHCP service 40, whichfacilitates the distribution of IP-addresses to the in-game networkdevices 55 using a Dynamic Host Configuration Protocol. In anotheraspect of the embodiment, the in-game devices are forced to renew theirIP addresses. The latest specification of the DHCP version 6 is providedby the Internet Engineering Task Force (“IEFT”) in RFC 3315, entitledDHCP Reconfigure Extension, December 2001, which is incorporated byreference herein. It is understood that the claimed invention is notlimited to the DHCP version 6, however. In another embodiment, thenetwork address management distribution component may utilize aBootstrap Protocol (“BOOTP”) to distribute IP addresses to the in-gamedevices 55 of the gaming machine 50. The original specification of theBOOTP protocol is provided by the IEFT in RFC 951, entitled BootstrapProtocol (BOOTP), September 1985, which is incorporated by referenceherein. Of course, the RFC 951 specification should not be construed aslimiting. Still another relevant reference provided by the IEFT is RFC2131, entitled Dynamic Host Configuration Protocol, March 1997, which isincorporated by reference herein. Yet another relevant referenceprovided by the IEFT is RFC 3203, entitled DHCP Reconfigure Extension,December 2001, which is incorporated by reference herein. Currently, RFC3203 is not yet a standard, but is on the standard track. Of course, theRFC 3203 specification should not be construed as limiting. Finally, inother embodiment, any other network protocol or schema known to those ofskill in the art may be used to manage and distribute IP addresses tothe in-game network devices 55 of the gaming machine 50.

In one embodiment, the DHCP service 40 is configured to respond to theservice discovery requests, such as a DHCP_Discover or a BOOTP bootrequest message, from the in-game switches 60, which may typically occurduring system start up or shortly thereafter. Once such a request isreceived, the DHCP server 40 may respond by assigning a lease for anexternal IP address to the in-game switch 60. The assigned external IPaddress identifies the in-game switch 60 at least on the gaming backboneIP network 5, the gaming network 10 and back office network 15. Forexample, the in-game switch 60 may use the provided external IP addressto communicate with other network devices in the gaming environment. Inone embodiment, the in-game switch 60 may use the external IP address toidentify the associated gaming machine 50 to the gaming network devicesand back office network devices, as will be described in greater detailherein with reference to FIG. 3.

Depending on implementation, the DHCP server 40 has three methods ofallocating external IP-addresses to the in-game switches 60. The firstis manual allocation, in which the DHCP server performs the allocationbased on a table with Medium Access Control (“MAC”) address-IP addresspairs manually filled by the gaming network environment administrator.In this method, leases for IP-addresses are extended only to the in-gameswitches with MAC addresses listed in this table. Next, in automaticallocation, the DHCP server 40 permanently assigns an externalIP-address to the requesting in-game switch 60 from a range of IPaddresses determined by the network administrator. Lastly, dynamicallocation is a method that provides dynamic re-use of IP addresses. Anetwork administrator assigns a range of IP addresses to the DHCP server40, and each in-game switch 60 has its TCP/IP software configured torequest an IP address from the DHCP server 40 when the given in-gameswitch 60 starts up. In either embodiment, the request-and-grant processmay use a lease concept with a controllable time period, so that thenetwork administrator may define a period for which the external IPaddress is valid for the given in-game switch.

As depicted in FIG. 1, the gaming network 10 may include a gamingnetwork DHCP server 45 and a plurality of gaming machines 50. Gamingmachines 50 may be physically or logically distributed between one ormore casinos based on game type, manufacturer or other parameters knownto those of skill in the art. The gaming machines 50 may be physicallyorganized in a LAN or logically in a Virtual LAN (“VLAN”). The gamingmachine 50 contains programming logic, which may be embodied in thehardware and/or software, to facilitate presentation of the game. In oneembodiment, a given gaming machine 50 may provide several differentgames. Gaming machines 50 may include an electronic orelectromechanical, computerized device that provides one or more gamepresentations to the casino patrons. The gaming machine 50 may includecomputerized wagering games, such as video and mechanical slots, videocard games, such as poker, blackjack and the like, video keno, videobingo, video pachinko, and computerized table games, such as poker,blackjack, craps, roulette, and the like.

An exemplary embodiment of a gaming machine 50 is illustrated in FIG. 2.As depicted, gaming machine 50 may include several different in-gamedevices, such as a video display 65, such as a cathode ray tube (CRT),liquid crystal display (LCD), plasma, or other type of video displayknown in the art. A touch screen may overlay the display 65. The gamingmachine 50 may also include in-game device 70 that facilitates playeridentification, such as a magnetic card reader that acceptsplayer-identification card issued by the casino. The gaming machine 50also includes an in-game device 75 that facilitates credit receiving tobe used for placing wagers in the game. The credit receiving in-gamedevice 75 may, for example, include a coin acceptor, a bill acceptor, aticket reader, and a card reader. The bill acceptor and the ticketreader may be combined into a single unit. The card reader may, forexample, accept magnetic cards, such as credit cards, debit cards, andsmart (chip) cards coded with money or designating an account containingmoney.

In some embodiments, the gaming machine 50 includes a user interfacehaving a plurality of push-buttons 80, the above-noted touch screen 65,and other possible devices. The plurality of push-buttons 80 may, forexample, include one or more “bet” buttons for wagering, a “play” buttonfor commencing play, a “collect” button for cashing out, a help” buttonfor viewing a help screen, a “pay table” button for viewing the paytable(s), and a “call attendant” button for calling an attendant.Additional game specific buttons may be provided to facilitate play ofthe specific game executed on the machine. The touch screen may definetouch keys for implementing many of the same functions as thepush-buttons. Additionally, in the case of video poker, the touch screenmay implement a card identification function to indicate which cards aplayer desires to keep for the next round. Other possible user interfacedevices include a keyboard and a pointing device such as a mouse ortrackball.

The gaming machine 50 may also include an embedded additional userinterface (not depicted), such as an iView™ interface described in thecommonly owned U.S. patent application Ser. No. 10/943,771, entitledUSER INTERFACE SYSTEM AND METHOD FOR A GAMING MACHINE, which isincorporated by reference herein. The embedded additional user interfaceincludes a web page display screen and an embedded processor. Theembedded processor reads incoming data, translates the data into a webauthoring language, and maps the data to the web page display screen.The display screen presents web page information to the user via thedisplay screen, thereby increasing user excitement by providing a richergaming experience. The content provided through the embedded additionaluser interface may include, for example, advertisements, promotionnotifications, useful gaming information, and other content that may beof interest to the casino patron.

The gaming machine 50 may further include a processor (not depicted),which implements the programming logic of the game and controlsoperation of all hardware and software components of the gaming machine50, as well as one or more of the above-described in-game devices. Forexample, in response to receiving a wager and a command to initiateplay, the processor may be configured to randomly select a game outcomefrom a plurality of possible outcomes and causes the display 65 todepict indicia representative of the selected game outcome. In the caseof slots, for example, mechanical or simulated slot reels are rotatedand stopped to place symbols on the reels in visual association with oneor more pay lines. If the selected outcome is one of the winningoutcomes defined by a pay table, the processor may be configured toaward the player with a number of credits associated with the winningoutcome.

The gaming machine 50, as well as individual in-game devices 55, mayinclude network interfaces (not depicted), such as one or more networkcards, to facilitate IP-based communication with other devices in thegaming network 10 and back office network 15. For example, to facilitateplacement of wagers using credit or debit cards, the in-game device 80may need to connect through its IP-based network interface to theaccounting server 20, which in turn will connect to the financialinstitution that has issued the given card, conduct credit cardauthentication process, and credit the requested amount. The accountingserver 20 will issue credit confirmation to the in-game network device80, which in turn will allow casino patron to place the desired wagerand proceed with the game. In another example, in a progressive networkenvironment, where several gaming machines 50 compete for a singlejackpot price, the gaming machine 50A may need to communicate throughits network interface with gaming machines 50B and 50C, as well as withthe game monitoring server 25 in the back office network 15 tosynchronize the jackpot value and other shared parameters.

To effectuate IP-based communication with other network devices of thegaming environment, each gaming machine 50 may include an in-game switch60, which in conjunction with gaming network DHCP server 45 and thecentral DHCP server 40 facilitates management and distribution of IPaddress information among the in-game network devices 55. The switch 60maybe implemented as a hardware or software network device, such as aswitch, a router, an access point or the like, which has an OSI Layer 3(i.e., network layer) switching capability and which supports either aDHCP, BOOTP or similar IP address distribution protocol. In oneembodiment, the in-game switch 60 may include a hardware-based networkswitch, which supports DHCP, such as one of 3Com® 8800 series switches,Cisco Systems® Catalyst switches, Netgear® switches, Lynksys® switchesor the like. In an alternative embodiment, the in-game switch 60 may beimplemented as a software component stored in the non-volatile memory ofthe gaming machine 50.

One embodiment of the in-game switch 60 is illustrated in FIG. 3. Asdepicted the in-game switch 60 may include a processor 85 configured toperform computational and logical operations. The switch furtherincludes one or more network interfaces 90, such as an IEEE 802.3Ethernet and/or IEEE 802.11 WiFi card, which facilitates IP-basedcommunication with other network devices. The switch may also include avolatile memory 100, such as Random Access Memory (“RAM”), whichtemporarily stores information in the switch 60, and a non-volatilememory 95, such as a magnetic disk, optical disk or the like, forstoring information that persists even when the switch 60 is turned offor otherwise loses power. The information stored in the non-volatilememory may include network monitoring applications 105 and programminglogic for implementation of the methods of the invention. All componentsof the in-game switch 60 are connected to the internal system bus 105,such as a parallel or serial bus, which facilitates transfer of databetween various system components.

In one embodiment, the in-game switch 60 may be configured to boot upwithout an IP address, which would enable it to communicate with othernetwork devices. Therefore, switch 60 may further be configured tosearch through one or more network interfaces 90 for an IP addressmanagement and configuration component, such as the central DHCP server40, which would provide it with an external IP address for the gamingmachine 50. To that end, in accordance with one embodiment, the in-gameswitch 60 is configured to broadcast on the backbone IP network 5 aservice discovery message, such as a DHCP_Discover message, a BOOTP bootrequest message or the like. As discussed above, the central DHCP server40 is configured to recognize such messages and to lease a uniqueexternal IP address to the in-game switch 60 if the given switch isrecognized as an authorized network device based, for example, on itsMAC address. The in-game switch 60 is configured to store the receivedexternal IP address in a data structure 110 in its non-volatile memory95.

If no response to the service discovery message has been received fromthe DHCP server 40, which may be caused by the network failure,congestion or other network or system problems, the in-game switch 60may be configured to timeout for a predetermined, or randomly selected,period of time and to retry broadcasting the service discovery messageupon expiration of this timeout period. This procedure assures that thebackbone network 5 is not overflooded with similar requests from otherin-game switches 60 and other network devices, which may also be tryingto communicate with the boot server 35 and DHCP server 40 in the backoffice network 15.

In one embodiment, the in-game switch 60 is operative to manage anddistribute the internal IP addresses to the in-game network devices 55of a given gaming machine 50. To that end, the switch 60 is configuredto determine the scope of the IP addresses that are to be leased to theassociated in-game network devices 55. In one embodiment, the internalIP address scope information may be provided by the gaming network DHCPserver 45. The gaming network DHCP server 45 may be implemented as adedicated computer, or as a program running on a network router (notdepicted), which connects the given gaming network 10 and the backboneIP network 5. Unlike the central DHCP server 40, the gaming network DHCPserver 45 maybe primarily used to manage internal IP address scopeinformation for all gaming machines 50 in the given gaming network 10.Thus, in one embodiment, each gaming network 10 may have its own gamingnetwork DHCP server that manages scope of the internal IP address forgaming machines 50. This configuration improves system scalability andsimplifying management of large, multi-casino gaming networks. Forexample, the gaming network DHCP server 45 may be utilized to set updifferent scopes of IP addresses for different gaming machines 50, aconfiguration which can be easily changed by the network administratorby increasing or decreasing IP address scope depending on the changingsystem requirements, such as number of active in-game network devices 55in a given gaming machine 50.

In one embodiment, the network gaming environment may be configured inthe following manner. Similar to the concept of Classless Inter-DomainRouting (“CIDR”), the IP address space can be divided into differentsize areas or subnets. For example, the IP address range for the gamingnetwork 10 is 172.20.8.0 with a 21 bit subnet mask (255.255.248.0) wouldyield 2046 usable IP addresses: 172.20.8.1 to 172.20.15.254. It shouldbe noted that even though the 21 bit subnet mask has 2048 addresses, thefirst, 172.20.8.0 and the last, 172.20.15.255 are typically not usable.All the routing on the gaming network would be at the full IP addressspace level, e.g. there would be one default gateway for the whole IPspace, which in this example is the 172.20.8.0/21 range.

The entire address space maybe further divided into smaller blocks ofaddresses. For example, the centralized DHCP server 40 may reserve anaddress scope that includes addresses from 172.20.8.20 to 172.20.8.239(a total of 220 centralized controlled DHCP addresses), which may beused to give out leases for the external IP addresses to the in-gameswitches 60 and other network devices in the gaming environment. The IPaddress in the 172.20.8.1 to 172.20.8.19 address range may be used forany static addressing needs. The gaming network DHCP Server 45 may thentake the rest of the addresses, in the 172.20.8.240 to 172.20.15.254range (a total of 1807 IP addresses), and divide that group into smalleraddress scopes to be used as internal IP addresses by in-game devices55.

In one embodiment, the remaining block of the 1807 IP addresses may bedivided into several different blocks of addresses depending on thecurrent and long-range IP address needs of each gaming machine 50. Forexample, each gaming machine 50 may be assigned a number of IP addressesequal to, greater or less than the number of the in-game network devices55 associated therewith. If at a later time, it is determined that thenumber of IP address allocated to a given gaming machine 50 is too largeor too small, the address scope can be readily changed at the level ofthe gaming network DHCP server 45 or, in alternative embodiment, at thelevel of central DHCP server 40. The allocated IP addresses do not needto be in multiples of two, like the typical IP address subnets, becauseall that is being defined is a scope of the allocated IP addresses. Thisschema makes address allocation more efficient and readily scalable.

In one embodiment, the IP address scope may be defined by the systemadministrator in the gaming network DHCP server 45 or communicatedthereto by the central DHCP server 40. The gaming network DHCP server 45may then communicate the assigned IP address scope block information thein-game switches 60 upon requested therefrom. In one embodiment, allcommunications between the gaming DHCP server 40 and the in-gameswitches 60, and in particular transmission of the IP address scopeinformation may be done via a Simple Network Management Protocol(“SNMP”). In this implementation, a special Management Information Base(“MIB”) maybe created to store and to communicate IP address scopeinformation. In alternative embodiments, other network protocols knownto those of skill in the art, such as XML-based protocols, may be usedto communicate IP address scope information.

The gaming network DHCP server 45 may transmit the IP address scopeinformation to the in-game switches 60 in several different ways: In oneembodiment, the gaming network DHCP server 45 may transmit a first IPaddress in the scope block and a number indicating the number ofaddresses in that scope chunk (i.e., scope handed out by the gamingnetwork DHCP server 45). In one embodiment, this number maybeconfigurable with a default of eight. In another embodiment, the gamingnetwork DHCP server 45 may transmit a first IP address and a last IPaddress of the assigned scope block. In alternative embodiments, othermethods known to those of skill in the art may be used to communicate IPaddress scope information to the in-game switches 60.

Once received, the internal IP address scope block may be saved in adata structure 115 of the non-volatile memory 95. The in-game switch maythen lease the assigned internal IP addresses to the associated in-gamenetwork devices 55, upon request therefrom, so that the latter cancommunicate with each other and other networked devices. In oneembodiment, having extended a lease for an internal IP address, thein-game switch 60 may record the given IP address and the MAC address ofthe in-game network device 55 to which the given IP address was leasedinto a table 125, which may be stored in its volatile memory 100.

In the event the gaming network DHCP server 45 does not immediatelyrespond to the request for the scope block from the in-game switch 60,which may be caused by a network failure, congestion or other network orsystem problems, the in-game switch 60 may be configured to timeout fora predetermined, or randomly selected, period of time and to retryrequesting the IP address scope information again upon expiration of thetimeout period. Meanwhile, the in-game switch 60 may capture all in-gameservice discovery requests, such as a DHCP_Discover or a BOOTP bootrequest message, from the in-game network devices 55, and in responsetemporarily lease to the in-game devices 55 IP addresses that werepreviously provided by the gaming network DHCP server 45 and which arecurrently stored in the data structure 195 of the non-volatile memory100 of the in-game switch 60. In this manner, the gaming network 10 isnot flooded with service discovery requests from the in-game networkdevices 55, and the latter can use the provided temporary IP addressesto finish their boot-up and begin operating.

In another embodiment, if no IP addresses are stored in the datastructure 195, the in-game switch 60 may temporarily lease IP addressselected from a set of default IP addresses. Default IP address scopemaybe stored in the default scope data structure 120 according to oneembodiment. In either embodiment, the extended IP addresses may betemporarily used by the in-game devices 55 to finish boot up procedureor to communicate with each other, while the in-game switch 60 attemptsto communicate with the gaming network DHCP server 45. This schemaassures that the gaming network 10 is not overflooded with multipleservice discovery requests from in-game devices 55, which may overloadthe gaming network DHCP server 45.

Once the communication with the gaming network DHCP server 45 isestablished and updated IP address scope information for the givengaming machine 50 is received from the gaming network DHCP server, thein-game switch 60 may terminate previously extended temporary IP addressleases and in their stead reissue to the associated in-game devices 55new internal IP addresses from the updated IP address scope block. Inaddition, the in-game switch 60 may update the table 125 in the volatilememory 100 with the updated IP address leases information. The in-gamedevice 55 may then use their internal IP addresses to directlycommunicate with, for example, the boot server 35, which may providegaming devices 55 with various network configuration information, suchas default gateway, various server locations, etc., as well as with theupdated content and other requested information.

In one embodiment, the in-game switch 60 may also facilitatedistribution of various scope options, including, for example, VendorSpecific Information, to the in-game devices 55. The scope optionsinformation may be provided by the central DHCP server 40 or the gamingnetwork DHCP server 45. The in-game switch 60 may request such scopeoptions information from the central DHCP server 40 or from the gamingnetwork DHCP server 45 using, for example, DHCP_Inform request or thelike. The in-game switch 60 may store the received Vendor SpecificInformation in its non-volatile memory 100 by Vendor Class ID. Thisenables the in-game switch to be capable of storing multiple instancesof the Vendor Specific Information so that each in-game switch device iscapable of having a different set of Vendor Specific Information. Thescope options information may be provided to the in-game devices 55 tofacilitate system start-up. To request Vendor Specific Information fromthe in-game switch 60, the in-game devices 55 may, for example, useVendor Class ID or other type of vendor identifier.

In another aspect of one embodiment, when the in-game switch receives aDCHP_Discover or DCHP_Request from the in-game devices, the in-gameswitch stores not only the MAC address, but also the Vendor Class ID foreach device. This storage can be in the volatile memory. The in-gameswitch uses this information, as well as the DHCP_Inform command, toretrieve and store information in non-volatile memory by Vendor Class IDthe Vendor Specific Information. Otherwise stated, the in-game switchcaptures the information from the Vendor Class ID in the Discover and/orRequest packets and uses that information to acquire the actual VendorSpecific Information for that Vendor Class.

Several embodiments of methods for managing and distributing IP addressinformation to the devices in the network gaming environment using theabove-described system and network configuration will be described nextwith reference to FIGS. 4 and 5. These methods may be implemented incomputer-executable instructions and embedded on a machine-readablemedia such as RAM, ROM, CD-ROM, DVD-ROM, flash memory or the like. Thesemethods may also be executed by a general-purpose processor, such asIntel Pentium® processor or the like, an embedded processor, such as AMDK6®, IBM® PowerPC 750CX, NEC® VR 5432, or various custom-made processorsknown to those of skill in the art.

With reference to FIG. 4, a flow diagram is provided of a method formanaging and distributing IP addresses in a gaming environment inaccordance with one embodiment. Initially, during system boot up,central boot server located in the back office network, and inparticular its DHCP server component, initialize and begin listening forservice discovery requests from other network devices on well-knownlocations within a gaming network. In some embodiments, the well-knownlocation may include well-known TCP/IP ports reserved for boot servicesrequests. However, other well-known locations, such as a URL or otheraddress specification may also be used in alternative embodiments.Simultaneously, the various network devices, such as gaming machines,in-game switches and in-game network devices, boot up and beginbroadcasting service discovery requests on their respective networks.

In one embodiment, the DHCP server receives a boot service discoveryrequest originated from the in-game switch, step 405. The servicediscovery request may include a DHCP_Discover message broadcasted on theone or more network interfaces of the in-game switch. In an alternativeembodiment, the service discovery request may include a BOOTP bootrequest message. In response, the DHCP server may verify that thein-game switch is authorized to receive an IP communication address. Inone embodiment, the DHCP server may check its MAC address validationtable to see if the MAC address of the given in-game switch is listedthere. If so, the DHCP server extends a lease for an external IP addressand responds to the given in-game switch with a message containing theassigned IP address. Having received the IP address, step 410, thein-game switch may store it as an external IP address in itsnon-volatile memory data structure, step 415.

Next, the in-game switch may send a message to the gaming network DHCPserver requesting an IP address scope block for the gaming devicesassociated with the given game, step 420. In one embodiment, the in-gameswitch may utilize a DHCP or BOOTP protocols to communicate with thegaming network DHCP server. In another embodiment, a Simple NetworkManagement Protocol (“SNMP”) may be used for that purpose. Yet inanother embodiment, the in-game switch and the gaming network DHCPswitch may communicate using a custom written protocol, such asXML-based or the like. The in-game switch then stores the received IPaddress scope block information in the non-volatile memory datastructure, step 425.

Next, the in-game switch may receive service discovery requests, such asa DHCP_Discover request or a BOOTP boot request message, from the one ormore in-game devices associated with the given gaming machine, step 430.In response, the in-game switch would extend a lease from the scopeblock of one of its internal IP address to the given in-game device,step 435. The in-game switch may also create a record in its table ofextended leases indicating the assigned internal IP addresses and theMAC addresses of the in-game devices to which given internal IPaddresses were assigned, step 440. The in-game switch may then listen onits network interfaces for other service discovery requests from otherin-game network devices, step 445, and, if such requests are received,to repeat step 435 and 440 for these in-game devices as well.

With reference to FIG. 5, a flow diagram is provided of a method formanaging and distributing IP addresses in a gaming environment inaccordance with another embodiment. During boot up, the in-game switchattempts to communicate, using a DHCP protocol (for example), a BOOTPprotocol, or the like, with the DHCP server to receive its external IPaddress and with the gaming network DHCP server to receive its internalIP addresses scope block, step 505. In the event such communicationfails, step 510, due to a possible network failure, congestion, or othernetwork or system problems, the in-game switch may timeout for apredetermined, or randomly selected, period of time and attempt to retrycommunicating with the central DHCP server and gaming network DHCPserver again upon expiration of the timeout period.

During the timeout period, however, the in-game switch may capture allin-game service discovery requests, such as DHCP_Discover or the like,from the in-game network devices associated with the given gamingmachine. If such requests are received, the in-game switch may firstdetermine whether an IP address block has already been assigned by thegaming environment DHCP server, step 515. If such IP address block wasalready assigned and therefore is stored in the non-volatile memory ofthe in-game switch, the in-game switch may extend temporary IP addressesfrom such previously assigned IP address block (i.e., saved scopechunk), step 520. If an IP address block was not previously communicatedby the gaming network DHCP server, the in-game switch may temporarilyextend leases for the internal IP addresses from a block of default IPaddresses, which is stored in the default scope data structure of thein-game switch, step 525. In either case, the in-game devices maytemporarily use the extended IP addresses to complete the boot upprocedures and/or to communicate with other networked device while thein-game switch attempts to establish communication with the central DHCPserver and the gaming network DHCP server, step 505. The temporary IPaddresses may also be stored along with the MAC addresses of thecorresponding in-game devices in a table in the volatile memory of thein-game switch.

Once the communication with the central DHCP server has beenestablished, step 510, the in-game switch may request an external IPaddress from the central DHCP server, step 530, and store the receivedIP address in its non-volatile memory, step 535. The in-game switch maythen request from the gaming network DHCP server a block scope of theinternal IP addresses for the associated in-game devices, step 540. Thein-game switch may store the received block scope in its non-volatilememory data structure, step 545. The in-game switch may then invalidateall leases from temporary IP addresses previously extended to theassociated in-game devices, step 550, and in their stead reissue to theassociated in-game devices new internal IP addresses from the newlyassigned block scope, step 555. In addition, the in-game switch mayupdate the table of leased IP addresses in its volatile memory with theupdated IP address lease information.

The foregoing description, for purposes of explanation, uses specificnomenclature and formula to provide a thorough understanding of theinvention. It should be apparent to those of skill in the art that thespecific details are not required in order to practice the invention.The embodiments have been chosen and described to best explain theprinciples of the invention and its practical application, therebyenabling others of skill in the art to utilize the invention, andvarious embodiments with various modifications as are suited to theparticular use contemplated. Thus, the foregoing disclosure is notintended to be exhaustive or to limit the invention to the precise formsdisclosed, and those of skill in the art recognize that manymodifications and variations are possible in view of the aboveteachings.

1. A method for managing internet protocol (IP) addresses in a gamingnetwork having one or more gaming machines, wherein a gaming machineincludes one or more in-game network devices, the method comprising:determining an external IP address associated with a given gamingmachine; determining an internal IP address scope associated with thegiven gaming machine; receiving a request for an internal IP addressfrom an in-game network device associated with the given gaming machine;leasing to the in-game network device a temporary internal IP addressselected from a default IP address scope when an updated external IPaddress and an updated internal IP address scope are not received from ahost, wherein the default IP address scope does not include a previouslyleased IP address; and updating the temporary internal IP address forthe in-game network device when an updated internal IP address scope isreceived by the in-game network device.
 2. The method of claim 1,wherein determining the external IP address comprises: (i) broadcastinga service discovery message, and (ii) receiving the external IP addressfrom a remote Dynamic Host Configuration Protocol (DHCP) server inresponse to the service discovery message, wherein the remote DHCPserver is external to the gaming network.
 3. The method of claim 2,wherein broadcasting a service discovery message comprises broadcastingone of a DHCP discover message and Boot Protocol (BOOTP) boot requestmessage.
 4. The method of claim 2, further comprising storing thereceived external IP address in a non-volatile memory.
 5. The method ofclaim 2, further comprising: leasing to the in-game network device atemporary internal IP address selected from one of a previously assignedinternal IP address scope and a default IP address scope, if theexternal IP address is not received from the remote DHCP server.
 6. Themethod of claim 1, wherein determining the internal IP address scopecomprises: (i) requesting the internal IP address scope from a localDHCP server, and (ii) receiving the internal IP address scope from thelocal DHCP server, wherein the local DHCP server is internal to thegaming network.
 7. The method of claim 6, further comprising storing thereceived internal IP address scope in a non-volatile memory.
 8. Themethod of claim 6, further comprising: leasing to the in-game networkdevice a temporary IP address selected from one of a previously assignedinternal IP address scope and a default IP address scope, if theinternal IP address scope is not received from the local DHCP server. 9.The method of claim 6, wherein receiving a request from the in-gamenetwork device for an internal IP address comprises receiving one of aDHCP discover message and BOOTP boot request message.
 10. A method formanaging internet protocol (IP) addresses in a gaming network having oneor more gaming machines, wherein a gaming machine includes one or morein-game network devices, the method comprising: receiving a request foran internal IP address from an in-game network device associated withthe given gaming machine; leasing to the in-game network device atemporary internal IP address selected from a default IP address scope,when an updated external IP address and an updated internal IP addressscope are not received from a host, wherein the default IP address scopedoes not include a previously leased IP address; and updating thetemporary internal IP address for the in-game network device when anupdated internal IP address scope is received by the in-game networkdevice.
 11. The method of claim 10, wherein requesting the updatedexternal IP address comprises: (i) broadcasting a service discoverymessage, and (ii) receiving the updated external IP address from aremote Dynamic Host Configuration Protocol (DHCP) server in response tothe service discovery message, wherein the remote DHCP server isexternal to the gaming network.
 12. The method of claim 11, whereinbroadcasting a service discovery message comprises broadcasting one of aDHCP discover message and Boot Protocol (BOOTP) boot request message.13. The method of claim 11, further comprising storing the receivedupdated external IP address in non-volatile memory.
 14. The method ofclaim 10, wherein requesting the updated internal IP address scopecomprises: (i) requesting the updated internal IP address scope from alocal DHCP server, and (ii) receiving the updated internal IP addressscope from the local DHCP server, wherein the local DHCP server isinternal to the gaming network.
 15. The method of claim 14, furthercomprising storing the received updated internal IP address scope innon-volatile memory.
 16. The method of claim 14, wherein receiving arequest from the in-game network device for an internal IP addresscomprises receiving one of a DHCP discover message and BOOTP bootrequest message.
 17. The method of claim 10, further comprising:terminating one or more leases for the temporary IP addresses uponreceipt of the updated external IP address and the updated internal IPaddress scope; and leasing an internal IP address selected from theupdated internal IP address scope to the in-game network device.
 18. Amethod for managing internet protocol (IP) addresses in a gaming networkhaving one or more gaming machines, wherein a gaming machine includesone or more in-game network devices and an in-game switch configured tomanage an internal IP address scope for the one or more in-game networkdevices, the method comprising: requesting scope options information andvendor specific information associated with a given gaming machine;receiving a request for an internal IP address from an in-game networkdevice associated with the given gaming machine; leasing to the in-gamenetwork device a temporary internal IP address selected from a defaultIP address scope when an updated external IP address and an updatedinternal IP address scope are not received from a host, wherein thedefault IP address scope does not include a previously leased IPaddress; dispensing to the in-game network device scope optionsinformation and vendor specific information; and replacing the temporaryinternal IP address for the in-game network device when the in-gameswitch receives (i) an updated external IP address information, (ii) anupdated internal IP address scope information, (iii) updated scopeoptions information, and (iv) updated vendor specific information. 19.The method of claim 18, further comprising: storing through the in-gameswitch, the received updated information in the data structure in thenon-volatile memory.
 20. The method of claim 19, wherein the storingfurther comprises: storing the received updated information in the datastructure in the non-volatile memory by vendor class identification andenabling the in-game switch to store multiple instances of the vendorspecific information and provide each in-game switch device with adifferent set of vendor specific information.
 21. The method of claim19, further comprising: dispensing through the in-game switch, theupdated information stored in the non-volatile memory to the in-gamenetwork device upon request therefrom.
 22. The method of claim 18,wherein the in-game switch requests the scope options information fromthe central DHCP server or from the gaming network DHCP server.
 23. Themethod of claim 18, wherein the in-game switch requests the vendorspecific information from the central DHCP server or from the gamingnetwork DHCP server.